package com.ruoyi.floor.service.impl;

import java.util.List;

import com.ruoyi.floor.domain.ro.RegisterFloorRo;
import com.ruoyi.floor.domain.vo.FloorTreeVo;
import com.ruoyi.floor.domain.vo.getMissionFloorVo;
import com.ruoyi.user.domain.HsUser;
import com.ruoyi.xq.mapper.HsXqMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.floor.mapper.HsFloorMapper;
import com.ruoyi.floor.domain.HsFloor;
import com.ruoyi.floor.service.IHsFloorService;

/**
 * 楼栋管理Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-07-25
 */
@Service
public class HsFloorServiceImpl implements IHsFloorService 
{
    @Autowired
    private HsFloorMapper hsFloorMapper;
    @Autowired
    private HsXqMapper hsXqMapper;

    /**
     * 查询楼栋管理
     * 
     * @param id 楼栋管理主键
     * @return 楼栋管理
     */
    @Override
    public HsFloor selectHsFloorById(Long id)
    {
        return hsFloorMapper.selectHsFloorById(id);
    }

    /**
     * 查询楼栋管理列表
     * 
     * @param hsFloor 楼栋管理
     * @return 楼栋管理
     */
    @Override
    public List<HsFloor> selectHsFloorList(HsFloor hsFloor)
    {
        return hsFloorMapper.selectHsFloorList(hsFloor);
    }

    /**
     * 新增楼栋管理
     *
     * @param hsFloor 楼栋管理
     * @return 结果
     */
    @Override
    public int insertHsFloor(HsFloor hsFloor)
    {


        return hsFloorMapper.insertHsFloor(hsFloor);
    }

    /**
     * 修改楼栋管理
     * 
     * @param hsFloor 楼栋管理
     * @return 结果
     */
    @Override
    public int updateHsFloor(HsFloor hsFloor)
    {
        return hsFloorMapper.updateHsFloor(hsFloor);
    }

    /**
     * 批量删除楼栋管理
     * 
     * @param ids 需要删除的楼栋管理主键
     * @return 结果
     */
    @Override
    public int deleteHsFloorByIds(Long[] ids)
    {
        return hsFloorMapper.deleteHsFloorByIds(ids);
    }

    /**
     * 删除楼栋管理信息
     * 
     * @param id 楼栋管理主键
     * @return 结果
     */
    @Override
    public int deleteHsFloorById(Long id)
    {
        return hsFloorMapper.deleteHsFloorById(id);
    }

    @Override
    public int insertRegisterHsFloor(HsUser hsUser) {

        RegisterFloorRo registerFloorRo = RegisterFloorRo.setRegisterFloorRo(hsUser);
        registerFloorRo.setXqId(hsXqMapper.getXqId(registerFloorRo.getFloorXqName()));
        return hsFloorMapper.insertRegisterHsFloor(registerFloorRo);
    }

    @Override
    public List<FloorTreeVo> getFloorTree(String floorXqName) {
        List<FloorTreeVo> allFloor = hsFloorMapper.getAllFloor(floorXqName);
        return allFloor;
}

    @Override
    public List<getMissionFloorVo> getMissionFloor() {
        List<getMissionFloorVo> allFloor = hsFloorMapper.getMissionFloor();
        return allFloor;
    }
}
